1. Field of the Invention
The present invention is directed in general to communications systems. In one aspect, the present invention relates to a method and system for performing Viterbi decoding on a transmitted signal.
2. Related Art
Communication systems are known to support wireless and wire-lined communications between wireless and/or wire-lined communication devices. Such communication systems range from national and/or international cellular telephone systems to the Internet to point-to-point in-home wireless networks. Each type of communication system is constructed, and hence operates, in accordance with one or more communication standards. For instance, wireless communication systems may operate in accordance with one or more standards including, but not limited to, IEEE 802.11, Bluetooth (BT), advanced mobile phone services (AMPS), digital AMPS, global system for mobile communications (GSM), code division multiple access (CDMA), local multi-point distribution systems (LMDS), multi-channel-multi-point distribution systems (MMDS) and/or variations thereof.
Depending on the type of wireless communication system, a wireless communication device (such as a cellular telephone, two-way radio, personal digital assistant (PDA), personal computer (PC), laptop computer, home entertainment equipment, etc.) communicates directly or indirectly with other wireless communication devices. For direct communications (also known as point-to-point communications), the participating wireless communication devices tune their receivers and transmitters to the same channel or channels (e.g., one of the plurality of radio frequency (RF) carriers of the wireless communication system) and communicate over the tuned channel(s). For indirect wireless communications, each wireless communication device communicates directly with an associated base station (e.g., for cellular services) and/or an associated access point (e.g., for an in-home or in-building wireless network) via an assigned channel. To complete a communication connection between the wireless communication devices, the associated base stations and/or associated access points communicate with each other directly, via a system controller, via the public switched telephone network, via the Internet, and/or via some other wide area network.
For each wireless communication device to participate in wireless communications, it includes a built-in radio transceiver (i.e., receiver and transmitter) or is coupled to an associated radio transceiver (e.g., a station for in-home and/or in-building wireless communication networks, RF modem, etc.). The transmitter typically includes a data modulation stage, one or more intermediate frequency stages and a power amplifier. The data modulation stage converts raw data into baseband signals in accordance with a particular wireless communication standard. The intermediate frequency stages mix the baseband signals with one or more local oscillations to produce RF signals. The power amplifier amplifies the RF signals prior to transmission via an antenna. In direct conversion transmitters/receivers, conversion directly between baseband signals and RF signals is performed.
The receiver is typically coupled to an antenna and includes a low noise amplifier, one or more intermediate frequency stages, a filtering stage and a data recovery stage. The low noise amplifier receives inbound RF signals via the antenna and amplifies them. The intermediate frequency stages mix the amplified RF signals with one or more local oscillations to convert the amplified RF signal into baseband signals or intermediate frequency (IF) signals. The filtering stage filters the baseband signals or the IF signals to attenuate unwanted out of band signals to produce filtered signals. The data recovery stage recovers raw data from the filtered signals in accordance with the particular wireless communication standard.
A variety of wireless communication standards may be used with the exemplary communication systems described herein, including Bluetooth, IEEE 802.11 (a), (b), (g) and others. In addition, wire-based communication may also be used. In any case, a typical communication system 10 is shown in FIG. 1, where a signal from the source 2 will be converted to digital form (u) by using a source encoder, formatter or other techniques for digitizing information. The encoder 4 adds redundancy to the data bits to protect against errors. The resulting encoded data (c) is modulated by a modulator 6 and transmitted through the channel. During transmission, it is very likely that the transmitted data is altered by noise from the channel. Therefore, on the receiver side, it is likely that the received data 15 is not the same as the transmitted data 3. To address this, the decoder 14 reconstructs the transmitted data based on the received symbols 15, typically by using a Viterbi decoder 14 to detect convolutional Forward Error Correction (FEC) encoded data, which is the coding used for channels with Additive White Gaussian Noise (AWGN).
Viterbi decoding is commonly used as a technique for recovering the most likely sequence of information bits that have been encoded with convolutional coding and degraded by transmission through a communication channel. A Viterbi decoder uses a trellis diagram representation of the convolutional code to model the code as a set of states and branches. At a time n, the code occupies state Sn. The branches of the trellis diagram denote allowable transitions between states. In Viterbi decoding, a metric is associated with each state and each transition between states (branch). The metric reflects the likelihood of the code occupying that state at that time instant, given the received bits. In general, a higher metric value implies that a state is less likely at that time instant, although lower values for less likely states equivalently may be used. Using the state metric at time n-1, the metric for each possible next state at time n is computed by the three step Viterbi algorithm. In the three step Viterbi algorithm, the path metrics (which represent the likelihood of entering a state from an allowable path) are added. The path metrics for various paths are compared and the lowest metric is then selected as the most probable path. Using this add/compare/select algorithm, a Viterbi decoder can determine the most likely sequence of information bits by tracing the sequence of branches, having the maximum likelihood, leading to a particular state.
As shown in FIG. 1, the demapper 12 converts the channel output (y) into an input (M) to the Viterbi decoder. This input (M) is a sequence of values called Viterbi branch metrics that reflects the likelihood of receiving the channel output, given a possible sequence of encoded bits. Prior implementations of soft decision Viterbi branch metric computation have used high accuracy multiplication operations to compute the branch metrics, requiring large numbers of gates and pipeline stages and consuming significant area and power. Viterbi decoding, while simpler than iterative forms of decoding such as MAP (Maximum A Posteriori) or soft Viterbi decoding, in general does not perform as well.
In addition to the complexity of the computational requirements for a communications transceiver, such as described above, the ever-increasing need for higher speed communications systems imposes additional performance requirements and resulting costs for communications systems. In order to reduce costs, communications systems are increasingly implemented using Very Large Scale Integration (VLSI) techniques. The level of integration of communications systems is constantly increasing to take advantage of advances in integrated circuit manufacturing technology and the resulting cost reductions. This means that communications systems of higher and higher complexity are being implemented in a smaller and smaller number of integrated circuits. For reasons of cost and density of integration, the preferred technology is CMOS. To this end, digital signal processing (“DSP”) techniques generally allow higher levels of complexity and easier scaling to finer geometry technologies than analog techniques, as well as superior testability and manufacturability.
Therefore, there is a need in the art for improved Viterbi decoding which is less complex than the iterative forms of decoding. In addition, as both power and area are at a premium in semiconductor design, it is advantageous to reduce the area and power required for Viterbi branch metric computation without sacrificing decoding performance. Therefore, a need exists for methods and/or apparatuses for improving the design and operation of decoding processes, and to do so in a way that reduces circuit complexity, circuit size and power consumption. Further limitations and disadvantages of conventional systems will become apparent to one of skill in the art after reviewing the remainder of the present application with reference to the drawings and detailed description which follow.